package lc.链表;

import utils.ListNode;

/**
 * @description:
 * @author: qian
 * @createDate: 2021/10/22
 */
public class 剑指Offer22_链表中倒数第k个节点 {

    public ListNode getKthFromEnd(ListNode head, int k) {
        // 一个先走k步 以后一起走，一个走到空 就返回另一个
        ListNode l1 = head;
        ListNode l2 = head;
        while (l1 != null && k > 0) {
            l1 = l1.next;
            k--;
        }
        while (l1 != null) {
            l1 = l1.next;
            l2 = l2.next;
        }
        return l2;
    }
}
